package cn.iocoder.yudao.module.member.api.user.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @author chuhaifeng
 * @date 2025/4/17  13:56
 * @program ruoyi-vue-pro
 * @description
 **/
@Data
public class MemberInformationDTO   {
    /**
     * 编号，主键自增
     */
    private Long id;


    /**
     *  全名
     */
    private String fullName;

    /**
     * 曾用名（如无请填写"无"）
     */
    private String formerName;

    /**
     * 性别（MALE-男, FEMALE-女）
     */
    private String gender;

    /**
     * 出生日期（格式：yyyy-MM-dd）
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat( pattern = "yyyy-MM-dd")
    private Date birthDate;

    /**
     * 出生城市
     */
    private String birthCity;

    /**
     * 身份证号码（18位）
     */
    private String idNumber;

    /**
     * 配偶职业/父母职业
     */
    private String otherWork;

    /**
     * 婚姻状况（SINGLE-未婚, MARRIED-已婚, DIVORCED-离异, WIDOWED-丧偶）
     */
    private String maritalStatus;

    /**
     * 护照号码
     */
    private String passportNumber;

    /**
     * 手机号码（11位）
     */
    private String phoneNumber;

    /**
     * 护照签发地点
     */
    private String passportIssuePlace;

    /**
     * 护照签发机关
     */
    private String passportAuthority;


    /**
     * 护照签发日期（格式：yyyy-MM-dd）
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat( pattern = "yyyy-MM-dd")
    private Date passportIssueDate;

    /**
     * 护照有效期至（格式：yyyy-MM-dd）
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat( pattern = "yyyy-MM-dd")
    private Date passportExpiryDate;


    /**
     * 预计往返时间及航班
     */
    private String travelPlan;

    /**
     * 上次时间及停留天数
     */
    private String lastTravelPlan;


    /**
     * 详细地址（街道门牌号）
     */
    private String detailedAddress;


    /**
     * 电子邮箱
     */
    private String email;

    /**
     * 职业状况（在职|无业|学生|退休|其他）
     */
    private String occupationStatus;

    /**
     * 工作单位名称
     */
    private String workUnitName;

    /**
     * 工作单位地点
     */
    private String workUnitPlace;

    /**
     * 工作单位电话
     */
    private String workUnitPhone;

    /**
     * 职位
     */
    private String position;

    /**
     *  照片地址
     */
    private String photoPicUrl;
    /**
     * 护照地址
     */
    private String passportPicUrl;
    /**
     * 身份证国徽地址
     */
    private String idcardGhPicUrl;
    /**
     * 身份证人像地址
     */
    private String idcardRxPicUrl;
    /**
     * 户口本全册地址
     */
    private String[] hkbPicUrl;
    /**
     * 结婚证/离婚证地址
     */
    private String marriagePicUrl;
    /**
     * 其他辅助资产证明地址
     */
    private String[] otherPicUrl;
}
